package com.lxd.admin;


/**
 * @author liuxiaoding
 * @Date 2019/12/5
 **/
public class Test {
    public static void main(String[] args) {



    }

    /**
     * 插入排序 升序
     * @param array
     * @return
     */
    public static int[] insertionSort(int[] array) {
        if (array.length == 0) {
            return array;
        }
        int current;
        for (int i = 0; i < array.length - 1; i++) {
            current = array[i + 1];
            int preIndex = i;
            while (preIndex >= 0 && current < array[preIndex]) {
                array[preIndex + 1] = array[preIndex];
                preIndex--;
            }
            array[preIndex + 1] = current;
        }
        for(int a:array) {
            System.out.print(a+" ");
        }
        return array;
    }
    /**
     * 选择排序 从小到大
     * @param array
     * @return
     */
    public static int[] selectionSortAsc(int[] array) {
        if (array.length == 0) {
            return array;
        }
        for (int i = 0; i < array.length; i++) {
            int minIndex = i;
            for (int j = i; j < array.length; j++) {
                if (array[j] < array[minIndex]) {//找到最小的数
                    minIndex = j; //将最小数的索引保存
                }
            }
            int temp = array[minIndex];
            array[minIndex] = array[i];
            array[i] = temp;
        }
        for(int a:array) {
            System.out.print(a+" ");
        }
        return array;
    }

    /**
     * 选择排序 从大到小
     * @param array
     * @return
     */
    public static int[] selectionSortDesc(int[] array) {
        if (array.length == 0) {
            return array;
        }
        for (int i = 0; i < array.length; i++) {
            int maxIndex = i;
            for (int j = i; j < array.length; j++) {
                if (array[j] > array[maxIndex]) {//找到最大的数
                    maxIndex = j; //将最大数的索引保存
                }
            }
            int temp = array[maxIndex];
            array[maxIndex] = array[i];
            array[i] = temp;
        }
        System.out.println("");

        for(int a:array) {
            System.out.print(a+" ");
        }
        return array;
    }


}
